Projekt - opis

Projekt zaliczeniowy

Opis założeń

Projekt powinien zostać wykonany z wykorzystaniem ROS2 i zawierać własnoręcznie utworzone węzły (lub conajmniej pojedyczny węzeł). Wykorzystanie zewnętrznych paczek jest również możliwe (np. usb_cam) i zalecane. Celem projektu jest utworzenie interfejsu do sterowania robotem. Proces powinien wyglądać następująco:

  1. Uruchomienie sterownika kamery (opcjonalne, może być kamerka laptopowa lub zewnętrzna kamera).
  2. Uruchomienie swojego węzł(a/ów) do sterowania robotem.
  3. Uruchomienie sterownika robota.
  4. Zaprezentowanie działania interfejsu.

Utworzony węzeł powinien pozwolić na: * w wersji najprostszej: kliknięcie na wyskakującym oknie punktu, w zależności, czy wciśnięty punkt jest nad środkiem ekranu, czy poniżej, robot przesuwa się do przodu lub do tyłu * w wersji prostej: funkcjonalność wersji najprostszej z wymogiem implementacji timera zamiast subskrybenta obrazu kamery (obraz z kamery jest niewykorzystywany, dlatego subskrybenta można zastąpić timerem) - w tej wersji nie uruchamiamy sterownika kamery * w wersji domyślnej: na ekranie wykrywany jest znacznik ArUco, w zależności, czy środek znacznika jest nad środkiem ekranu, czy poniżej, robot przesuwa się do przodu lub do tyłu

## Przykładowe zasoby Do projektu można wykorzystać przykładowe symulowane roboty, które również stacjonują w laboratorium: * UR3e * TurtleBot

W zależności od wybranego robota, zmienia się sposób sterowania. Dla robota mobilnego publikujemy komendy na temacie /cmd_vel, natomiast dla robota UR3e na temacie /scaled_joint_trajectory_controller/joint_trajectory. W przypadku manipulatora można obracać robota pierwszą osią (w bazie) o stały kąt, a w przypadku robota mobilnego poruszać się do przodu i do tyłu. Możliwa jest również wersja, gdzie pozycja dolna oznacza zatrzymanie się robota (pozostanie w bezruchu).

Najprostsza wersja obejmuje utworzenie projektu z wykorzystaniem robożółwia turtlesim.

Forma oddawania projektów

Projekty są oddawane na stronie kursu w zakładce “Projekt”. Możliwa jest prezentacja projektu w obecności prowadzącego lub nagranie i przesłanie demonstracji aplikacji. W przypadku chęci uruchomienia aplikacji na rzeczywistym robocie należy zgłosić się do prowadzącego.

Przykładowa demonstracja (w wersji uproszczonej dla robota UR 5)